package cn.iocoder.yudao.module.game.controller.admin.platformData.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 平台数据 Response VO")
@Data
@ExcelIgnoreUnannotated
public class PlatformDataRespVO {

    @Schema(description = "编号，唯一自增。", requiredMode = Schema.RequiredMode.REQUIRED, example = "32458")
    @ExcelProperty("编号，唯一自增。")
    private Long id;

    @Schema(description = "新增用户")
    @ExcelProperty("新增用户")
    private Long newUser;

    @Schema(description = "新增代理")
    @ExcelProperty("新增代理")
    private Long newAgent;

    @Schema(description = "活跃用户")
    @ExcelProperty("活跃用户")
    private Long activeUser;

    @Schema(description = "当日流水")
    @ExcelProperty("当日流水")
    private Long dayPipelining;

    @Schema(description = "游戏局数")
    @ExcelProperty("游戏局数")
    private Long roundsPlayed;

    @Schema(description = "首充人数")
    @ExcelProperty("首充人数")
    private Long numOfInitialCharge;

    @Schema(description = "充值总人数")
    @ExcelProperty("充值总人数")
    private Long totalOfRecharge;

    @Schema(description = "首充金额")
    @ExcelProperty("首充金额")
    private Long initialCharge;

    @Schema(description = "充值金额")
    @ExcelProperty("充值金额")
    private BigDecimal rechargeAmount;

    @Schema(description = "新用户提现金额")
    @ExcelProperty("新用户提现金额")
    private BigDecimal newUserWithdrawnAmount;

    @Schema(description = "总提现")
    @ExcelProperty("总提现")
    private BigDecimal totalWithdrawnAmount;

    @Schema(description = "总提差")
    @ExcelProperty("总提差")
    private BigDecimal totalAdjustment;

    @Schema(description = "代理佣金")
    @ExcelProperty("代理佣金")
    private BigDecimal agencyCommission;

    @Schema(description = "充值赠送")
    @ExcelProperty("充值赠送")
    private BigDecimal rechargeGift;

    @Schema(description = "额外产出")
    @ExcelProperty("额外产出")
    private BigDecimal additionalOutput;

    @Schema(description = "系统盈亏")
    @ExcelProperty("系统盈亏")
    private BigDecimal systemProfitAndLoss;

    @Schema(description = "更新时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("更新时间")
    private LocalDateTime updateTime;

}